home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Power 2002 February
/
MACPOWER-2002-02.ISO.7z
/
MACPOWER-2002-02.ISO
/
MacPowerオリジナル⁄連載
/
P.260⁄ぷろれぼX
/
VJ Core.h
< prev
next >
Wrap
Text File
|
2001-11-03
|
3KB
|
86 lines
//---------------------------------------------------------------------
// サイズ情報
//---------------------------------------------------------------------
//画面サイズ
#define SCREEN_SIZE_H 640
#define SCREEN_SIZE_V 480
//素材画像のオリジナルサイズ
#define VJPICT_SIZE_H 256
#define VJPICT_SIZE_V 256
//左右プレビューサイズ
#define SIDE_PREVIEW_H 128
#define SIDE_PREVIEW_V 128
//中央プレビューサイズ
#define CENTER_PREVIEW_H 256
#define CENTER_PREVIEW_V 256
//---------------------------------------------------------------------
// 表示座標情報
//---------------------------------------------------------------------
//左プレビュー座標
#define PREVIEW_A_PREVIEW_X 30
#define PREVIEW_A_PREVIEW_Y 220
//右プレビュー座標
#define PREVIEW_B_PREVIEW_X 482
#define PREVIEW_B_PREVIEW_Y 220
//中央プレビュー座標
#define PREVIEW_C_PREVIEW_X 192
#define PREVIEW_C_PREVIEW_Y 67
//メニュー情報
#define mFile 129
#define iQuit 1
//背景
#define BG_PICT_ID 128
//プレビューA
#define PREVIEW_A 129
//プレビューB
#define PREVIEW_B 130
//---------------------------------------------------------------------
//関数プロトタイプ
//---------------------------------------------------------------------
// メニューの組み込み
OSStatus InstallStandardMenuBar(void);
// 終了時のイベントハンドラー
pascal OSErr QuitAppleEventHandler(const AppleEvent *appleEvt, AppleEvent* reply, long refcon);
// ウィンドウのイベントハンドラー処理
pascal OSStatus MyWindowEventHandler(EventHandlerCallRef myHandler, EventRef event, void* userData);
// アプリケーションイベントハンドラーの組み込み
void InstallAppEvents(void);
// アプリケーションイベントハンドラー
pascal OSStatus DoAppCommandProcess(EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
// 一定間隔ごとに呼び出されるタイマー処理
pascal void MyTimerRoutine(EventLoopTimerRef loopTimerRef,void* userRef);
// ウィンドウの更新
void HandleWindowUpdate(WindowRef window);
// 画像データの読み込み
void LoadPictures(void);
// 背景など固定部分の描画
void DrawBackground(WindowRef window);
// オフクリーン(GWorld)の作成
GWorldPtr CreateOffscreen(short sizeX,short sizeY);
// 指定したイメージデータをfillPixelで埋める
void FillImage(Ptr baseAddress,long rowBytes,short imageSizeX,short imageSizeY,unsigned long fillPixel);
// 指定したGWorldの内容をウィンドウ(中央プレビュー部)に描画
void CopyToWindow(GWorldPtr srcGWorld,WindowRef dstWindow);
// 指定した2つのイメージデータをコピー
void CopyImage(Ptr srcBaseAddress,long srcRowBytes,Ptr dstBaseAddress,long dstRowBytes,short imageSizeX,short imageSizeY);
// イメージデータを指定したX座標からコピー
void RollImage(Ptr srcBaseAddress,long srcRowBytes,Ptr dstBaseAddress,long dstRowBytes,short imageSizeX,short imageSizeY,short offsetX);
// 2つのイメージデータを指定した度合いで合成
void MixImage(Ptr srcBaseAddress1,long srcRowBytes1,
Ptr srcBaseAddress2,long srcRowBytes2,
Ptr dstBaseAddress,long dstRowBytes,
short imageSizeX,short imageSizeY,short fadeLevel);
// 指定したGWorldの内容に対して指定したトーンエフェクト
void DoEffects(Ptr theBaseAddress,long theRowBytes,short imageSizeX,short imageSizeY,short effectNo);